﻿namespace IceCS.DataStructure.Core.BinaryTree
{
    /// <summary>
    /// 
    /// </summary>
    public interface IBTree<T>
    {
        /// <summary>
        /// 初始化一个空二叉树
        /// </summary>
        void Initiate();
        /// <summary>
        /// 
        /// </summary>
        void Create();
        /// <summary>
        /// 
        /// </summary>
        /// <param name="item"></param>
        void InsertL(T item);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="item"></param>
        void InsertR(T item);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="item"></param>
        void DeleteL(T item);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="item"></param>
        void DeleteR(T item);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="item"></param>
        void Search(T item);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="item"></param>
        void Traverse(T item);
    }
}
